Methods and systems for displaying videos with overlays and tags

ABSTRACT

In a system and method for displaying a video and an overlay or tag, an application that runs through a browser on a client is used to send a request from the client to a server over a computer network. In response to the request, at least the following is sent from the server to the client: a first uniform resource locator (URL) corresponding to a location on the network where the video is stored, a second URL corresponding to a location on the network where the overlay or tag is stored, and playlist data. The first and second URLs are associated with different servers on the computer network. The first and second URLs and the playlist data are used at the client to retrieve the video and the overlay or tag, and build a playlist. The client merges the video and the overlay into an integrated media sequence that is played to a user via the browser in accordance with the playlist, and displays the tag. The user is automatically linked to content associated with the overlay or tag when the user clicks on a representation of the overlay or tag displayed on the browser.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional application of copending U.S.application Ser. No. 11/724,987, filed on Mar. 16, 2007, which claimsthe benefit of U.S. Provisional Application

No. 60/783,463, filed on Mar. 17, 2006, both of which are herebyincorporated by reference.

FIELD OF THE INVENTION

The present application relates generally to methods and systems fordisplaying videos with overlays and tags.

BACKGROUND OF THE INVENTION

There is a need in the art for systems that allow users to efficientlyretrieve and play videos that have been enhanced in a collaborativeenvironment to include tags and overlays.

SUMMARY OF THE INVENTION

The present invention is directed to a system and method for displayinga video with an overlay. An application that runs through a browser on aclient is used to send a request from the client to a server over acomputer network. In response to the request, at least the following issent from the server to the client: a first uniform resource locator(URL) corresponding to a location on the network where the video isstored, a second URL corresponding to a location on the network wherethe overlay is stored, and playlist data that includes sequenceinformation for playing each segment of the video, timing informationindicating when to display the overlay during playing of the video, andlocation information indicating a coordinate within the video fordisplaying the overlay. The first and second URLs are associated withdifferent servers on the computer network. The first and second URLs areused at the client to retrieve the video and the overlay. The playlistdata is used at the client to build a playlist and merge the video andthe overlay into an integrated media sequence that is played to a uservia the browser in accordance with the playlist. The user isautomatically linked to content associated with the overlay during theplaying of the media sequence when the user clicks on a representationof the overlay displayed on the browser.

In various embodiments, the overlay is a video overlay, an audiooverlay, an image overlay or a text overlay. The playlist data sent fromthe server to the client optionally includes references to a pluralityof different overlays associated with a single video, wherein contentassociated with each of the different overlays is stored at a differentURL in the network. In a specific embodiment, the content associatedwith the overlay is stored at a third URL on the network, wherein thefirst, second and third URLs are associated with different servers onthe computer network.

In accordance with a further aspect, the present invention is directedto a system and method for displaying a video and a tag associated withthe video (e.g., a video tag, an audio tag, an image tag or a text tag.)An application that runs through a browser on a client is used to send arequest from the client to a server over a computer network; wherein theserver is associated with a first uniform resource locator (URL) on thecomputer network. In response to the request, at least the following issent from the server to the client: a second uniform resource locator(URL) corresponding to a location on the network where the video isstored, one or more tags associated with the video, and playlist datathat includes sequence information for playing each segment of thevideo, and time-bar coordinate information indicating a spatial locationon a time bar where each of the one or more tags should be visuallylinked. The first and second URLs are associated with different websiteson the computer network. The second URL is used at the client toretrieve the video. The playlist data is used at the client to build aplaylist and play the video and display the one or more tags visuallylinked to the time bar. The video is played and the one or more tags aredisplayed to a user via the browser in accordance with the playlist. Theuser is automatically linked to content associated with each of the tagswhen the user clicks on a representation of a tag displayed on thebrowser.

In some embodiments, the playlist data sent from the server to theclient includes references to a plurality of different tags associatedwith a single video. In such embodiments, the content associated with atleast one of the tags may be stored on the server, and may include oneor more frames of the single video. Also, in such embodiments, thecontent associated with at least one of the tags is stored at a thirdURL on the network, wherein the first, second and third URLs areassociated with different servers on the computer network. In someembodiments, each of the tags corresponds to a comment about the videoand/or a time interval in the video.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a system for displaying videos with overlays andtags.

FIG. 2 is a user interface for sending a request to display a videosequence with overlays and/or tags from a client to a server over acomputer network.

FIG. 3A depicts exemplary playlist data sent from the server to theclient.

FIGS. 3B and 3C depicts exemplary playlist data tables sent from theserver to the client.

FIGS. 4A and 4B are user interfaces that display a merged video thatincludes a video overlay with transition effects, in accordance with anexample of the invention.

FIG. 4C is a user interface that displays a merged video that includes avideo overlay and a text hotlink overlay, in accordance with a furtherexample of the invention.

FIG. 5 is a user interface that displays a merged video that includes aclickable tag, in accordance with an example of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a system for displaying videos with overlays and tags.Client 10 includes a controller 12 and a player 14. Client 10 includes asoftware application that runs through a browser on the client. Throughthe browser, the client remotely connects over a network (i.e., theInternet) to various web sites during implementation of the system.Using the browser, client 10 accesses a video selection page on a firstURL 20 over the network. An example of the video selection page is shownon FIG. 2. In the embodiment shown, the client selects one of the videosidentified on the video selection page by clicking on a still imagerepresentative of the video selection (as shown on FIG. 2). In responseto this selection, a request for the selected video is sent through theclient's browser over the network to a server 22 on the first web site20.

First URL 20 includes a database 24 which stores information associatedwith each of the videos available for download to the client. In theembodiment shown, several fields 24 a, 24 b and 24 c are stored in thedatabase for each of the videos. It will be understood that only some ofthese fields may be populated for different videos in the database. Inthe example shown in FIG. 1, each video in the database is representedby a Video ID (field 24 a). For each video in the database, one or morenetwork addresses (at least some of which correspond to sites other thanthe first URL 20) are stored in field 24 b. The network addressesrepresented in field 24 b correspond to network locations (other thanfirst URL 20) where video content (and optionally audio content)representative of each segment of the video is stored. Playlist datafiled 24 c (discussed below) may include network locations (e.g., eitherat the first URL 20, or other sites such as URLs 30, 40 or 50) wherecontent representative of tags and overlays associated with the video isstored.

For purposes of this disclosure, a tag corresponds to text, video, imageor audio information which is associated with the video selected by theclient. Examples of tags are a text tag that includes a comment about aparticular portion or segment of the video selected by the client (shownin FIG. 5), or still images corresponding to specific frames in thevideo selected by the client. Tags are visually linked to a time-bar(shown in FIG. 5) when displayed to the user. More specifically, eachtag has associated time-bar coordinate information indicating a specificspatial location on the time bar where each of the one or more tagsshould be visually linked. As a user scrolls through the time-bar(using, e.g., the buttons shown on FIG. 5), each tag associated with theselected video is displayed to the user, along with the visual link tothe appropriate location on the time-bar. Tags are displayed to the userindependently of the playing of the selected video. Thus, even if theselected video is not playing, a user can scroll through the time-barand view each of the tags associated with the video. Tags may includelink information that allows a user to automatically retrieve furtherinformation by clicking on a representation of the tag when it isdisplayed on the browser.

For purposes of this disclosure, a video overlay is a virtual layer thatfully or partially overlaps the selected video during playback.Associated with each overlay is timing information indicating when todisplay the overlay during playing of the video, and locationinformation indicating a coordinate (e.g., an x-y coordinate) within thevideo where the overlay should be initially displayed, andtransition/effect information related displaying the overlay while it isvisible. Overlays can be transparent (i.e., content from the selectedvideo is visible through the overlay) or blocking. An example of ablocking overlay is the video box on the lower left portion of FIGS. 4Aand 4B. The hotlink “dolphins at www.dolphins org” shown in FIG. 4C is apartially transparent overlay. Overlays can move and transition duringtheir time period (such as the one corresponding to images in FIGS. 4Aand 4B, where from time 4:32 to 7:01, the image “tweens” from onelocation to a next and changes in size.) Overlays (such as the onecorresponding to “dolphins at www.dolphins org” in FIG. 4C) may includelink information that allows a user to automatically retrieve furtherinformation by clicking on a representation of the overlay when it isdisplayed (either in a transparent or blocking format) on the browser.

For each video in database 24, the database also includes a reference toplaylist data 24 c (stored on the first website 20) for the video. Theplaylist data includes sequence and timing information for playing eachsegment of the video selected by the client, timing informationindicating when to display each overlay during playing of the video,location information indicating a coordinate within the video fordisplaying each overlay, transition/effect information specifying how tomanipulate the overlay (e.g., how to move the overlay, or change it'ssize, or cause a fade/dissolve, over time), and time-bar coordinateinformation indicating a spatial location on a time bar where each ofthe one or more tags should be visually linked. An example of suchplaylist data is shown in FIGS. 3A and 3B. The playlist data shown inFIG. 3A and the tables entitled “Overlay Playlist” on FIG. 3B and“Overlay Transition/Effect” on FIG. 3C correspond to playlist datastored in database 24 for a specific overlay. The playlist data shown inthe table entitled “Tag Playlist” on FIG. 3B correspond to playlist datastored in database 24 for a specific tag.

Referring still to FIG. 1, in response to receipt of the request fromclient 10 for a selected video, the server 20 sends at least thefollowing to the client 10: (i) a first uniform resource locator (URL)corresponding to a location on the network where content of the selectedvideo is stored, (ii) a second URL corresponding to a location on thenetwork where information corresponding to an overlay/tag associatedwith the video is stored, and (iii) playlist data associated with theselected video. The first and second URLs are different. In someembodiments where, for example, the video includes different segmentsstored at different locations, or has multiple overlays/tags associatedtherewith, additional URLs corresponding to further network locationswill be sent from server 20 to the client in response to the request.Controller 12 (at the client) uses the first and second URLs (and anyother URLs sent by server 20) to retrieve the video content (from, e.g,URL 30, 40 or 50) and content represented of each associated overlay/tag(from, e.g, URL 20, 30, 40 or 50), using the URL information provided byserver 20. Controller 12 uses the playlist data to build a playlist. Thecontroller 12 sequences and merges the video content and each associatedoverlay into an integrated media sequence that is played to the user viathe browser using player 14 and in accordance with the playlist.Controller 12 also uses the playlist to build the time-bar and displaythe one or more tags visually linked to the time bar. Set forth in TableI below is exemplary code illustrating the how (in one embodiment)controller 12 build the time-bar and displays the one or more tagsvisually linked thereto:

TABLE I Tag/Comment Management Module For selected video id{ . .  Retrieve entire corresponding playlist for this video from thedatabase   .   .   Build integrated timeline of timepoints (ie, dotsarray) based on   playlist   .   .   On Event:   video playing andvideo.time “near” timepoint   or mouse enters timepoint {       ShowContent(type) // text, image, video, or audio     }   On Event:  video.time “near” timepoint + timepoint.duration   or mouse exitstimepoint {       Hide tag.content     }   .   . } Endfor Show ContentFunction {. . Case content.type = text   Show text Case content.type =image   Get image URL   Show image Case content.type = video   Get videoURL   Play video Case content.type = audio   Get audio URL   Play audio. .}

During the playing of the integrated media sequence, the user may beautomatically linked to further content associated with an overlay/tagwhen the user clicks on a representation of the overlay/tag displayed onthe browser. This further content may be stored on URL 20, or on URL 30,40 or 50.

The playlist data sent from the server to the client optionally includesreferences to a plurality of different overlays associated with a singlevideo, wherein content associated with each of the different overlays isstored at a different URL in the network. In a specific embodiment, thecontent associated with the overlay is stored at a third URL on thenetwork, such that the first, second and third URLs are associated withdifferent servers on the computer network. In further embodiments, theplaylist data sent from the server to the client includes references toa plurality of different tags associated with a single video. In suchembodiments, the content associated with at least one of the tags may bestored on the server 20, and may include one or more frames (i.e., stillimages) of the single video. Also, in such embodiments, the contentassociated with at least one of the tags is stored at a third URL on thenetwork, wherein the first, second and third URLs are associated withdifferent servers on the computer network.

Any user may add their own time-sensitive comments to a video in theform of a tag or overlay. The user, typically after viewing the video,accesses the desired point in time in the video to add video, audio,image, or text information indicating a spatial location on a time barwhere the tag or overlay should be visually linked. The user thenselects an icon on the software application's GUI interface to initiatelinking the tag or overlay with the video. See the tag 61 and comment 62icons shown in the lower left-side of FIG. 4A. By clicking on the icon,the user is prompted to choose the type of tag or overlay and provideinformation about its duration. The user is also prompted to enter atitle name for the tag or overlay so the user may easily identify andsearch for it. The user may create text, audio, or video comments oreven add an image to the video. The user may also identify the locationof previously created content for retrieval by the application andplayback with the video. The created tag or overlay may then be storedfor subsequent retrieval by the application. The tags and overlays maybe deleted after the duration or end point is exceeded during playback.Alternatively, the tags and overlays may be displayed until the displayarea is full at which time the oldest tags or overlays (added to thevideo) will be deleted from the display area first.

Finally, it will be appreciated by those skilled in the art that changescould be made to the embodiments described above without departing fromthe broad inventive concept thereof. It is understood, therefore, thatthis invention is not limited to the particular embodiments disclosed,but is intended to cover modifications within the spirit and scope ofthe present invention as defined in the appended claims.

What is claimed is:
 1. A method for adding an overlay to a video,comprising: (a) viewing the video in a software application; (b)selecting an icon displayed by the application, operating in a client'sbrowser, to add the overlay to the video; (c) clicking the icon in theapplication at a point in time in the video that the overlay will beseen, and determining its duration; (d) entering a title for the overlayso the overlay may be easily identified and searched by a user; (e)creating the overlay content to add to the video, or identifying thelocation of the overlay content for retrieval by the application; and(f) storing the created overlay for subsequent retrieval by theapplication.
 2. The method of claim 1, wherein the overlay comprises avideo overlay, an audio overlay, an image overlay, or a text overlay. 3.A method for adding a tag to a video, comprising: (a) viewing the videoin a software application; (b) selecting an icon displayed by theapplication, operating in a client's browser, to add the tag to thevideo; (c) clicking the icon in the application at a point in time inthe video that the tag will be seen along the time-bar, and determiningits duration; (d) entering a title for the tag so the tag may be easilyidentified and searched by a user; (e) creating the tag content to addto the video, or identifying the location of the tag content forretrieval by the application; and (f) storing the created tag forsubsequent retrieval by the application.
 4. The method of claim 3,wherein the tag comprises a video tag, an audio tag, an image tag, or atext tag.
 5. The method of claim 2, wherein the overlays comprise anadvertisement.
 6. The method of claim 4, wherein the tags comprise anadvertisement.